Android -6.0 权限
Dec 1, 2016
6.0 机制发生改变
新的权限机制更好的保护了用户的隐私,Google将权限分为两类,一类是Normal Permissions,这类权限一般不涉及用户隐私,是不需要用户进行授权的,比如手机震动、访问网络等;另一类是Dangerous Permission,一般是涉及到用户隐私的,需要用户进行授权,比如读取sdcard、访问通讯录等。
危险权限
- LOCATION
ACCESS_FINE_LOCATION
ACCESS_COARSE_LOCATION - PHONE
READ_PHONE_STATE
CALL_PHONE
READ_CALL_LOG
WRITE_CALL_LOG
ADD_VOICEMAIL
USE_SIP
PROCESS_OUTGOING_CALLS - STORAGE
READ_EXTERNAL_STORAG
WRITE_EXTERNAL_STORAGE
在AndroidManifest中添加需要的权限
检查权限
ContextCompat.checkSelfPermission —主要用于检测某个权限是否已经被授予
方法返回值
- PackageManager.PERMISSION_DENIED 拒绝
- PackageManager.PERMISSION_GRANTED 同意123456if (ContextCompat.checkSelfPermission(thisActivity,Manifest.permission.READ_CONTACTS)!= PackageManager.PERMISSION_GRANTED) {}else{//}
申请权限
该方法是异步的,第一个参数是Context;第二个参数是需要申请的权限的字符串数组;第三个参数为requestCode,主要用于回调的时候检测。可以从方法名requestPermissions以及第二个参数看出,是支持一次性申请多个权限的,系统会通过对话框逐一询问用户是否授权123ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.READ_CONTACTS}, MY_PERMISSIONS_REQUEST_READ_CONTACTS);
处理申请的回调
|
|
申请权限的解释
|
|
总结
|
|